<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Boost.HOF &#8212; Boost.HigherOrderFunctions 0.6 documentation</title>
    
    <link rel="stylesheet" href="../_static/boostbook.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '0.6',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true,
        SOURCELINK_SUFFIX: '.txt'
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Introduction" href="src/intro.html" /> 
  </head>
  <body role="document">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86"src="../_static/boost.png"></td>
</tr></table>

<div class="spirit-nav">
<a accesskey="p"  ><img src="../_static/prev.png" alt="Prev"></a>
<a accesskey="u" href="#"><img src="../_static/up.png" alt="Up"></a>
<a accesskey="h" href="#"><img src="../_static/home.png" alt="Home"></a>
<a accesskey="n"  href="src/intro.html"><img src="../_static/next.png" alt="Next"></a>
</div>
  

    <div class="document">
  <div class="chapter">
      <div class="body" role="main">
        
  <div class="section" id="boost-hof">
<span id="contents"></span><h1>Boost.HOF<a class="headerlink" href="#boost-hof" title="Permalink to this headline">¶</a></h1>
<p><strong>Paul Fultz II</strong></p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="src/intro.html">Introduction</a><ul>
<li class="toctree-l2"><a class="reference internal" href="src/index.html">About</a></li>
<li class="toctree-l2"><a class="reference internal" href="src/index.html#motivation">Motivation</a></li>
<li class="toctree-l2"><a class="reference internal" href="src/index.html#requirements">Requirements</a><ul>
<li class="toctree-l3"><a class="reference internal" href="src/index.html#contexpr-support">Contexpr support</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/index.html#noexcept-support">Noexcept support</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="src/building.html">Building</a><ul>
<li class="toctree-l3"><a class="reference internal" href="src/building.html#installing">Installing</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/building.html#tests">Tests</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/building.html#documentation">Documentation</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="src/gettingstarted.html">Getting started</a><ul>
<li class="toctree-l3"><a class="reference internal" href="src/gettingstarted.html#higher-order-functions">Higher-order functions</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/gettingstarted.html#function-objects">Function Objects</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/gettingstarted.html#lifting-functions">Lifting functions</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/gettingstarted.html#declaring-functions">Declaring functions</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/gettingstarted.html#adaptors">Adaptors</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/gettingstarted.html#lambdas">Lambdas</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="src/examples.html">Examples</a><ul>
<li class="toctree-l3"><a class="reference internal" href="src/example_print.html">Print function</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/example_overloading.html">Conditional overloading</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/example_polymorphic_constructors.html">Polymorphic constructors</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/more_examples.html">More examples</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="src/point_free.html">Point-free style programming</a><ul>
<li class="toctree-l3"><a class="reference internal" href="src/point_free.html#variadic-print">Variadic print</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/point_free.html#variadic-sum">Variadic sum</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="src/overview.html">Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="src/definitions.html">Definitions</a><ul>
<li class="toctree-l3"><a class="reference internal" href="src/definitions.html#function-adaptor">Function Adaptor</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/definitions.html#static-function-adaptor">Static Function Adaptor</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/definitions.html#decorator">Decorator</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/definitions.html#semantics">Semantics</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/definitions.html#signatures">Signatures</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="src/concepts.html">Concepts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#constfunctionobject">ConstFunctionObject</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#nullaryfunctionobject">NullaryFunctionObject</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#unaryfunctionobject">UnaryFunctionObject</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#binaryfunctionobject">BinaryFunctionObject</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#mutablefunctionobject">MutableFunctionObject</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#evaluatablefunctionobject">EvaluatableFunctionObject</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#invocable">Invocable</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#constinvocable">ConstInvocable</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#unaryinvocable">UnaryInvocable</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#binaryinvocable">BinaryInvocable</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#metafunction">Metafunction</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/concepts.html#metafunctionclass">MetafunctionClass</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="src/reference.html">Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="src/adaptors.html">Function Adaptors</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/combine.html">combine</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/compose.html">compose</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/decorate.html">decorate</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/first_of.html">first_of</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/fix.html">fix</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/flip.html">flip</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/flow.html">flow</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/fold.html">fold</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/implicit.html">implicit</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/indirect.html">indirect</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/infix.html">infix</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/lazy.html">lazy</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/match.html">match</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/mutable.html">mutable</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/partial.html">partial</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/pipable.html">pipable</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/proj.html">proj</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/protect.html">protect</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/result.html">result</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/reveal.html">reveal</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/reverse_fold.html">reverse_fold</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/rotate.html">rotate</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/static.html">static</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/unpack.html">unpack</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="src/decorators.html">Decorators</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/capture.html">capture</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/if.html">if</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/limit.html">limit</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/repeat.html">repeat</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/repeat_while.html">repeat_while</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="src/functions.html">Functions</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/always.html">always</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/arg.html">arg</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/construct.html">construct</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/decay.html">decay</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/identity.html">identity</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/placeholders.html">placeholders</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/placeholders.html#unamed-placeholder">unamed placeholder</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="src/traits.html">Traits</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/function_param_limit.html">function_param_limit</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/is_invocable.html">is_invocable</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/is_unpackable.html">is_unpackable</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/unpack_sequence.html">unpack_sequence</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="src/utilities.html">Utilities</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/apply.html">apply</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/apply_eval.html">apply_eval</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/eval.html">eval</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/function.html">BOOST_HOF_STATIC_FUNCTION</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/lambda.html">BOOST_HOF_STATIC_LAMBDA</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/lambda.html#boost-hof-static-lambda-function">BOOST_HOF_STATIC_LAMBDA_FUNCTION</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/lift.html">BOOST_HOF_LIFT</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/pack.html">pack</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/returns.html">BOOST_HOF_RETURNS</a></li>
<li class="toctree-l3"><a class="reference internal" href="../include/boost/hof/tap.html">tap</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="src/configurations.html">Configurations</a></li>
<li class="toctree-l1"><a class="reference internal" href="src/discussion.html">Discussion</a><ul>
<li class="toctree-l2"><a class="reference internal" href="src/partialfunctions.html">Partial function evaluation</a></li>
<li class="toctree-l2"><a class="reference internal" href="src/faq.html">FAQ</a><ul>
<li class="toctree-l3"><a class="reference internal" href="src/faq.html#q-why-is-const-required-for-the-call-operator-on-function-objects">Q: Why is <code class="docutils literal"><span class="pre">const</span></code> required for the call operator on function objects?</a></li>
<li class="toctree-l3"><a class="reference internal" href="src/faq.html#q-is-the-reinterpret-cast-in-boost-hof-static-lambda-undefined-behaviour">Q: Is the reinterpret cast in BOOST_HOF_STATIC_LAMBDA undefined behaviour?</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="src/acknowledgements.html">Acknowledgements</a></li>
<li class="toctree-l1"><a class="reference internal" href="src/license.html">License</a></li>
</ul>
</div>
</div>


      </div>
  </div>
      <div class="clearer"></div>
    </div>
    <div class="footer" role="contentinfo">
    <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
    <td align="left"></td>
    <td align="right"><div class="copyright-footer">
            &#169; Copyright 2016, Paul Fultz II.
        
          Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.
          <p>Distributed under the Boost Software License, Version 1.0.
          (See accompanying file <code class="filename">LICENSE_1_0.txt</code> or copy at 
          <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
          </p>
    </div></td>
    </tr></table>
    </div>
  </body>
</html>